package 多态;

public class 类型转换 {
    public static void main(String[] args) {
        //自动类型转换 子类转父类
        father_父类 a = new son_子类();
        a.run();
        //强制类型转换
        father_父类 a2 = new 另一个儿子();
        //子类 + 对象名=（子类）父类多态
        另一个儿子 t = (另一个儿子) a2;
        t.eat();

        //son_子类 t2=(son_子类) a2;编译不报错运行报错因为a2对象是父类父类强转子类编译判断正确但是a2的运行是子类两个实际没有关系不能强转
        //判断类型
        //不知道什么类型时就用以下方法
        if(a2 instanceof son_子类){
            son_子类 t2 = (son_子类) a2;
            t2.see();
        }else if(a2 instanceof 另一个儿子){
            另一个儿子 t3=(另一个儿子) a2;
            t3.eat();
        }
    }
}
